/*
Copyright (c) [2019年5月1日] [吴超]
[MBT_Studio] is licensed under Mulan PSL v2.
You can use this software according to the terms and conditions of the Mulan PSL v2.
You may obtain a copy of Mulan PSL v2 at:
		 http://license.coscl.org.cn/MulanPSL2
THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
See the Mulan PSL v2 for more details.
*/
#pragma once

#include "A_引擎/引擎.h"
#include "A_引擎/文件工程/工程文件.h"


S_Bounding	f_get移动控制手柄手柄最大长度(E_轴向 轴向);
E_轴向		f_get控制手柄轴向(uint8 拾取到的线ID);
E_轴向		f_拾取手柄轴(const vec3& sr, const vec3& er, float32 相交距离);


void f_控制手柄_准备移动物体();
void f_控制手柄_移动物体(const vec3& 手柄要移动到是位置);
void f_控制手柄_完成移动物体(S_摄像机* camera);
void f_控制手柄_取消移动物体(S_摄像机* camera);



void f_控制手柄_准备旋转物体(const vec2& 鼠标局部位置, const S_Rect2Df& rect, S_摄像机* camera);
void f_控制手柄_视线旋转物体(vec3 旋转向量, float32 角度, float32 方向, S_摄像机* camera);
void f_控制手柄_局部旋转物体(E_轴向 轴向, float32 角度);
void f_控制手柄_完成旋转物体();
void f_控制手柄_取消旋转物体();



void f_控制手柄_准备缩放物体(const vec2& 鼠标局部位置, const S_Rect2Df& rect, S_摄像机* camera);
void f_控制手柄_视线缩放物体(vec3 旋转向量, float32 步进);
void f_控制手柄_局部缩放物体(E_轴向 轴向, float32 步进);
void f_控制手柄_完成缩放物体();
void f_控制手柄_取消缩放物体();



void f_视口控制_镜头视点移动到激活物体中心(S_摄像机* camera);

//void f_控制手柄_变换手柄开关(E_变换 变换, bool 打开);
void f_控制手柄_轴线显示(E_轴向 轴向);
void f_控制手柄_移动到选中物体中心();





void on_控制手柄切换(S_Props& prop);










